/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package controller;

import java.sql.SQLException;
import java.util.LinkedList;
import model.dto.EspecieDTO;
import model.exception.MissingIdException;
import model.exception.NoChangesOnUpdateException;
import model.exception.NotNullFieldsException;
import model.handler.EspecieHandler;

/**
 *
 * @author Gabriel
 */
public class EspecieController {

    EspecieHandler especieHandler;

    public EspecieController() throws SQLException, ClassNotFoundException {
        especieHandler = new EspecieHandler();
    }    

    public LinkedList<EspecieDTO> pesquisaEspecie(Integer id, String nomeEspecie) throws SQLException {
        return especieHandler.pesquisaEspecie(id, nomeEspecie);
    }

    public void cadastraEspecie(EspecieDTO especieDTO) throws SQLException, NotNullFieldsException {
        especieHandler.cadastraEspecie(especieDTO);
    }

    public void atualizaEspecie(EspecieDTO especieDTO,
            Boolean atualizaNomecientifico,
            Boolean atualizaProcedencia,
            Boolean atualizaNomevulgar,
            Boolean atualizaFamilia,
            Boolean atualizaGrpecogeral,
            Boolean atualizaGrpecoespec,
            Boolean atualizaDiammincopa,
            Boolean atualizaDiammaxcopa,
            Boolean atualizaFustemin,
            Boolean atualizaFustemax,
            Boolean atualizaAlturamin,
            Boolean atualizaAlturamax,
            Boolean atualizaDesenvolvimento,
            Boolean atualizaCicloproducao,
            Boolean atualizaFlcor,
            Boolean atualizaFlMes,
            Boolean atualizaTipofruto,
            Boolean atualizaNatureza,
            Boolean atualizaFrcor,
            Boolean atualizaFrMes,
            Boolean atualizaTiposemeadura,
            Boolean atualizaSementeskg,
            Boolean atualizaArmazensemente,
            Boolean atualizaTmpgerminmin,
            Boolean atualizaTmpgerminmax,
            Boolean atualizaPercentgermin,
            Boolean atualizaViabilsemente) throws SQLException, NotNullFieldsException, NoChangesOnUpdateException, MissingIdException {

       especieHandler.atualizaEspecie(especieDTO, atualizaNomecientifico, atualizaProcedencia, atualizaNomevulgar, atualizaFamilia, atualizaGrpecogeral, atualizaGrpecoespec, atualizaDiammincopa, atualizaDiammaxcopa, atualizaFustemin, atualizaFustemax, atualizaAlturamin, atualizaAlturamax, atualizaDesenvolvimento, atualizaCicloproducao, atualizaFlcor, atualizaFlMes, atualizaTipofruto, atualizaNatureza, atualizaFrcor, atualizaFrMes, atualizaTiposemeadura, atualizaSementeskg, atualizaArmazensemente, atualizaTmpgerminmin, atualizaTmpgerminmax, atualizaPercentgermin, atualizaViabilsemente);

    }

}
